/**
 * 版权所有(C)，上海勾芒信息科技，2017，所有权利保留。
 * 
 * 项目名：	cards-web
 * 文件名：	WxComponentAppDomainService.java
 * 模块说明：	
 * 修改历史：
 * 2017年5月24日 - Debenson - 创建。
 */
package me.chanjar.weixin.component.api.app;

import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.component.bean.author.WxAppDomains;

/**
 * 修改小程序服务器地址 <br>
 * 授权给第三方的小程序，其服务器域名只可以为第三方的服务器，当小程序通过第三方发布代码上线后，小程序原先自己配置的服务器域名将被删除，只保留第三方平台的域名，所以第三方平台在代替小程序发布代码之前，需要调用接口为小程序添加第三方自身的域名。
 * <br>
 * 提示：需要先将域名登记到第三方平台的小程序服务器域名中，才可以调用接口进行配置。
 * 
 * @author Debenson
 * @since 0.1
 */
public interface WxCompMaDomainService {

  /**
   * 添加小程序的服务器域名
   * 
   * @param domains
   *          域名列表
   * @throws WxErrorException
   */
  void addDomain(WxAppDomains domains) throws WxErrorException;

  /**
   * 设置小程序的服务器域名，会覆盖已有的域名。
   * 
   * @param domains
   *          域名列表
   * @throws WxErrorException
   */
  void setDomain(WxAppDomains domains) throws WxErrorException;

  /**
   * 删除小程序的服务器域名
   * 
   * @param domains
   *          要删除的域名列表
   * @throws WxErrorException
   */
  void deleteDomain(WxAppDomains domains) throws WxErrorException;

  /**
   * 删除小程序的服务器域名
   * 
   * @return 小程序的服务器域名
   * @throws WxErrorException
   */
  WxAppDomains getDomain() throws WxErrorException;

}
